/**
 * @scope enchant.JGZ.ObjectEx.prototype
 */
enchant.JGZ.ObjectEx = enchant.Class.create(Object, {
  /**
   * オブジェクト操作
   * @constructs
   * @param {Object}  obj
   */
  initialize : function(obj){
    this._obj = new Object();
    if (obj !== undefined) {
      this._obj = obj;
    }
  },
  /**
   * 元のオブジェクトを破壊しない
   * @param {Object}  obj
   */
  concat : function(obj) {
    for (var idx in obj) {
      if (this._obj[idx] === undefined) {
        this._obj[idx] = obj[idx];
      }
    }
    return this._obj;
  },
  /**
   * 元のオブジェクトを上書する
   * @param {Object}  obj
   */
  apply : function(obj) {
    for (var idx in obj) {
      this._obj[idx] = obj[idx];
    }
    return this._obj;
  },
  o : {
    get: function() {
      return this._obj;      
    },
    set: function(obj) {
      this._obj = obj;
    }
  }
});
